package Model2HomeWork;
/*
定义一个长度为[16][16]的整型二维数组并输入所有位置的元素值，分别实现二维数组中所有行和所有列中所有元素的累加和并打印。

再分别实现二维数组中左上角到右下角和右上角到左下角所有元素的累加和并打印。
 */
public class ArrayPrac {
    public static void main(String[] args){
        int[][] arr = new int[16][16];
        int cou  = 1;
        int count = 0;
        int count1 =0;
        //循环赋值给数组，进行初始化，每个元素都为1
        for(int i=0; i<arr.length; i++){
            for(int j=0; j<arr[i].length; j++){
                arr[i][j] = cou;

            }
        }
        //循环打印数组元素
        for(int i=0; i<arr.length; i++){
            for(int j=0; j<arr[i].length; j++){
                System.out.print(arr[i][j] + " ");
            }
            System.out.print("\n");
        }

        //打印所有行的和
        for(int i=0;i<16;i++)
        {
            int sum1=0;
            for(int j=0;j<16;j++)
            {
                sum1+=arr[i][j];

            }
            System.out.println("第" + i + "行的和为" + sum1);
           count += sum1;
        }
        //打印结果
        System.out.println("所有行的和为:" + count);

        //打印所有列的和
        for(int j=0;j<16;j++)
        {
            int sum2=0;
            for(int i=0;i<16;i++)
            {
                sum2+=arr[i][j];

            }
            System.out.println("第" + j + "列的和为" + sum2);
            count1 += sum2;
        }
        //打印结果
        System.out.println("所有列的和:" + count1);

        //左上角到右下角的和
        int sum3 = 0;
        for(int j=0;j<16;j++)
        {
            for(int i=0;i<16;i++)
            {
                if(i==j){
                    sum3+=arr[i][j];
                }
            }

        }
        System.out.println("左上角到右下角累加为:"+ sum3);

        //右下角到左上角的和
        int sum4 =0;
        for(int i=0; i<16; i++){
            sum4 += arr[i][15-i];

        }
        System.out.println("右下角到左上角的和为:" + sum4);

    }
}
